#!/bin/bash

# 使用传统Docker构建ARM64镜像
echo "开始使用传统方法构建ARM64镜像..."

# 禁用BuildKit
export DOCKER_BUILDKIT=0

# 清理之前失败的构建
docker system prune -f

# 重新设置QEMU
echo "设置QEMU多架构支持..."
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

# 使用传统构建方法
echo "使用传统Docker构建..."
docker build --platform linux/arm64 -f Dockerfile.arm64 -t xianyu-auto-agent:arm64 .

if [ $? -eq 0 ]; then
    echo "✅ ARM64镜像构建成功!"
    
    # 导出镜像
    echo "正在导出镜像..."
    docker save xianyu-auto-agent:arm64 -o xianyu-auto-agent-arm64.tar
    
    if [ $? -eq 0 ]; then
        echo "✅ 镜像已导出到 xianyu-auto-agent-arm64.tar"
        ls -lh xianyu-auto-agent-arm64.tar
    else
        echo "❌ 镜像导出失败"
        exit 1
    fi
else
    echo "❌ ARM64镜像构建失败"
    echo "尝试使用标准Dockerfile..."
    
    # 备用方案：使用原始Dockerfile
    docker build --platform linux/arm64 -t xianyu-auto-agent:arm64 .
    
    if [ $? -eq 0 ]; then
        echo "✅ 使用标准Dockerfile构建成功!"
        docker save xianyu-auto-agent:arm64 -o xianyu-auto-agent-arm64.tar
        echo "✅ 镜像已导出"
    else
        echo "❌ 所有构建方法都失败了"
        echo "建议在ARM64设备上直接构建"
        exit 1
    fi
fi